<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://properties.core.datamodel.fs.documentum.emc.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfs-dm-core="http://core.datamodel.fs.documentum.emc.com/" xmlns:dfs-dm-core-properties="http://properties.core.datamodel.fs.documentum.emc.com/" elementFormDefault="qualified" targetNamespace="http://properties.core.datamodel.fs.documentum.emc.com/" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://dtordam01:9080/services/core/runtime/ContextRegistryService?xsd=5" namespace="http://core.datamodel.fs.documentum.emc.com/" />
  <xs:complexType name="PropertySet">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Properties" type="dfs-dm-core-properties:Property" />
    </xs:sequence>
    <xs:attribute name="isInternal" type="xs:boolean" use="required" />
  </xs:complexType>
  <xs:complexType name="Property" abstract="true">
    <xs:sequence />
    <xs:attribute name="name" type="xs:string" use="required" />
    <xs:attribute name="isTransient" type="xs:boolean" use="required" />
  </xs:complexType>
  <xs:complexType name="StringProperty">
    <xs:complexContent mixed="false">
      <xs:extension base="dfs-dm-core-properties:Property">
        <xs:sequence>
          <xs:element minOccurs="0" name="Value" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="NumberProperty">
    <xs:complexContent mixed="false">
      <xs:extension base="dfs-dm-core-properties:Property">
        <xs:sequence>
          <xs:choice minOccurs="0">
            <xs:element name="Short" type="xs:short" />
            <xs:element name="Integer" type="xs:int" />
            <xs:element name="Long" type="xs:long" />
            <xs:element name="Double" type="xs:double" />
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DateProperty">
    <xs:complexContent mixed="false">
      <xs:extension base="dfs-dm-core-properties:Property">
        <xs:sequence>
          <xs:element minOccurs="0" name="Value" type="xs:dateTime" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="BooleanProperty">
    <xs:complexContent mixed="false">
      <xs:extension base="dfs-dm-core-properties:Property">
        <xs:sequence>
          <xs:element name="Value" type="xs:boolean" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ObjectIdProperty">
    <xs:complexContent mixed="false">
      <xs:extension base="dfs-dm-core-properties:Property">
        <xs:sequence>
          <xs:element minOccurs="0" name="Value" type="dfs-dm-core:ObjectId" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="StringArrayProperty">
    <xs:complexContent mixed="false">
      <xs:extension base="dfs-dm-core-properties:ArrayProperty">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Values" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ArrayProperty" abstract="true">
    <xs:complexContent mixed="false">
      <xs:extension base="dfs-dm-core-properties:Property">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="ValueActions" type="dfs-dm-core-properties:ValueAction" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ValueAction">
    <xs:sequence />
    <xs:attribute name="type" type="dfs-dm-core-properties:ValueActionType" use="required" />
    <xs:attribute name="index" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="NumberArrayProperty">
    <xs:complexContent mixed="false">
      <xs:extension base="dfs-dm-core-properties:ArrayProperty">
        <xs:sequence>
          <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="Short" nillable="true" type="xs:short" />
            <xs:element name="Integer" nillable="true" type="xs:int" />
            <xs:element name="Long" nillable="true" type="xs:long" />
            <xs:element name="Double" nillable="true" type="xs:double" />
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="BooleanArrayProperty">
    <xs:complexContent mixed="false">
      <xs:extension base="dfs-dm-core-properties:ArrayProperty">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Values" nillable="true" type="xs:boolean" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DateArrayProperty">
    <xs:complexContent mixed="false">
      <xs:extension base="dfs-dm-core-properties:ArrayProperty">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Values" nillable="true" type="xs:dateTime" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ObjectIdArrayProperty">
    <xs:complexContent mixed="false">
      <xs:extension base="dfs-dm-core-properties:ArrayProperty">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Values" nillable="true" type="dfs-dm-core:ObjectId" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="RichTextProperty">
    <xs:complexContent mixed="false">
      <xs:extension base="dfs-dm-core-properties:Property">
        <xs:sequence>
          <xs:element minOccurs="0" name="Value" type="dfs-dm-core:RichText" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ValueActionType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="APPEND" />
      <xs:enumeration value="INSERT" />
      <xs:enumeration value="DELETE" />
      <xs:enumeration value="SET" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>